<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class cpListeGroupesUtilisateurs extends cpListe
{
	
	protected $rechercher;
	protected $params = array();
	
	
	public function __construct($core)
	{
		
		parent::__construct($core, 'groupesUtilisateurs');
		
		$this->initColonnes(array(
			'case'			=> array('&nbsp;'),
			'nom'			=> array(__('Groupe'), 'G.groupe_nom ASC', 'G.groupe_nom DESC'),
			'utilisateurs'	=> array(__('Utilisateurs'))
		), 'nom-asc');
		
		$this->params['order'] = $this->getOrdreSQL();
		
	}
	
	public function filtres()
	{
		
		if(!empty($_GET['rechercher'])) {
			$this->rechercher = $_GET['rechercher'];
			$this->params['groupe_nom'] = array(
				'like' => array('%'.$this->rechercher.'%')
			);
		}
		
	}
	
	public function afficherFiltres()
	{
		return
		'<form id="filtres" class="filtres_tableau" action="index.php" method="GET">'.
			form::hidden('module', 'groupesUtilisateurs').
			'<p class="rechercher">'.
				form::field('rechercher', 30, 100, html::escapeHTML($this->rechercher)).
				'<input type="submit" value="'.__('Chercher dans les groupes').'" />'.
			'</p>'.
		'</form>';

	}
	
	public function afficherListe($page,$nb_par_page,$enclose_block='')
	{
		
		$counter = $this->core->site->getGroupesUtilisateurs($this->params, CP_GET_COMPTEUR);
		
		if ($counter->f(0) == 0) {
			return '<div class="msg msgInfo">'.__('Pas de groupe').'</div>';
		}
			
		$pager = new pager($page,$counter->f(0),$nb_par_page,10);
		$pager->html_prev = $this->html_prev;
		$pager->html_next = $this->html_next;
		$pager->var_page = 'page';
		$this->params['limit'] = array($pager->index_start,$nb_par_page);
		
		$html_block .=
		'<table id="listeGroupesUtilisateurs">'.
		$this->getEnteteHTML('index.php?module=groupesUtilisateurs&sort=%s', 'listeGroupesUtilisateurs_').
		'<tbody>'.
			'%s'.
		'</tbody>'.
		'</table>'.
		'<p class="options-liste">'.
			'<a href="#" id="selectionner_tout">'.__('sélectionner tout').'</a> - '.
			'<a href="#" id="inverser_selection">'.__('inverser la sélection').'</a>'.
		'</p>';
		
		if ($enclose_block) {
			$html_block = sprintf($enclose_block,$html_block);
		}
		
		$blocks = explode('%s',$html_block);
		
		$html = $blocks[0];
		
		$groupesUtilisateurs = $this->core->site->getGroupesUtilisateurs($this->params, CP_GET_RS);
		
		while($groupesUtilisateurs->fetch()) {
			$html.=$this->ligneGroupe($groupesUtilisateurs);	
		}
		
		$html.= $blocks[1].
			'<p>'.__('Page(s) :').' '.$pager->getLinks().'</p>';
			
		
		return $html;
	
	}
	
	protected function ligneGroupe($groupe)
	{
		return
		'<tr id="groupe_'.(integer) $groupe->groupe_id.'">'.
			'<td class="listeGroupesUtilisateurs_case">'.
				form::checkbox('groupes[]', (integer) $groupe->groupe_id, false).
			'</td>'.
			'<td>'.
				'<a href="index.php?module=modifierGroupeUtilisateurs&groupe_id='.(integer) $groupe->groupe_id.'">'.
					html::escapeHTML($groupe->groupe_nom).
				'</a>'.
			'</td>'.
			'<td>'.
				'<a href="index.php?module=utilisateurs&groupe='.(integer) $groupe->groupe_id.'">'.__('Afficher les utilisateurs').'</a>'.
			'</td>'.
		'</tr>';
	}
	
}

?>